package org.facilscrum.persistencia;

import org.facilscrum.beans.Sprint;
import java.sql.Date; 
import org.facilscrum.beans.*;
import org.facilscrum.controller.*;
import java.io.Serializable;
import java.util.List;
import java.util.ArrayList;
import java.util.*;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.util.Map;
import java.util.Iterator;
import java.util.HashMap;
import java.util.Map;
 import javax.sql.DataSource;
import org.facilscrum.generales.Mensajeria;
import org.facilscrum.generales.DataGManager;


/**
*
* @author
*/

public class SprintPersistencia implements Serializable {
private static final long serialVersionUID = 1L;
public static Exception excepcion;
public static boolean esMensaje = false;
public static Connection con = null;
public static java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/facilscrum/properties/mensajes");
static DataGManager dataGManager;
static List<Sprint> list;

public SprintPersistencia(){
         esMensaje =false;
}



/**
*
* insert()
*/

public static boolean insert (Sprint sprint ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pinsert = null;
      String sql = "insert into sprint(idproyecto,nombre,objetivo,velocidadestimada,fechainicio,fechaterminacion,fechademo,horademo,fechameeting,comentariosmeeting,asistentesmeeting,fecharetrospectiva,buenoretrospectiva,maloretrospectiva,mejorarretrospectiva,puntosasignados,velocidadreal,abierto)  values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
      pinsert = con.prepareStatement(sql);
              pinsert.setInt(1,sprint.getIdproyecto());
        pinsert.setString(2,sprint.getNombre());
        pinsert.setString(3,sprint.getObjetivo());
        pinsert.setInt(4,sprint.getVelocidadestimada());
        pinsert.setDate(5,sprint.getFechainicio());
        pinsert.setDate(6,sprint.getFechaterminacion());
        pinsert.setDate(7,sprint.getFechademo());
        pinsert.setString(8,sprint.getHorademo());
        pinsert.setDate(9,sprint.getFechameeting());
        pinsert.setString(10,sprint.getComentariosmeeting());
        pinsert.setString(11,sprint.getAsistentesmeeting());
        pinsert.setDate(12,sprint.getFecharetrospectiva());
        pinsert.setString(13,sprint.getBuenoretrospectiva());
        pinsert.setString(14,sprint.getMaloretrospectiva());
        pinsert.setString(15,sprint.getMejorarretrospectiva());
        pinsert.setInt(16,sprint.getPuntosasignados());
        pinsert.setInt(17,sprint.getVelocidadreal());
        pinsert.setString(18,sprint.getAbierto());
      int filas= pinsert.executeUpdate();
      pinsert.close();
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
 }


/**
*
* update()
*/

public static boolean update(Sprint sprint ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update sprint set  idproyecto=?, nombre=?, objetivo=?, velocidadestimada=?, fechainicio=?, fechaterminacion=?, fechademo=?, horademo=?, fechameeting=?, comentariosmeeting=?, asistentesmeeting=?, fecharetrospectiva=?, buenoretrospectiva=?, maloretrospectiva=?, mejorarretrospectiva=?, puntosasignados=?, velocidadreal=?, abierto=?  where  idsprint ='"+sprint.getIdsprint()+"'  ";
      pupdate= con.prepareStatement(sql);
      pupdate.setInt(1,sprint.getIdproyecto());
pupdate.setString(2,sprint.getNombre());
pupdate.setString(3,sprint.getObjetivo());
pupdate.setInt(4,sprint.getVelocidadestimada());
pupdate.setDate(5,sprint.getFechainicio());
pupdate.setDate(6,sprint.getFechaterminacion());
pupdate.setDate(7,sprint.getFechademo());
pupdate.setString(8,sprint.getHorademo());
pupdate.setDate(9,sprint.getFechameeting());
pupdate.setString(10,sprint.getComentariosmeeting());
pupdate.setString(11,sprint.getAsistentesmeeting());
pupdate.setDate(12,sprint.getFecharetrospectiva());
pupdate.setString(13,sprint.getBuenoretrospectiva());
pupdate.setString(14,sprint.getMaloretrospectiva());
pupdate.setString(15,sprint.getMejorarretrospectiva());
pupdate.setInt(16,sprint.getPuntosasignados());
pupdate.setInt(17,sprint.getVelocidadreal());
pupdate.setString(18,sprint.getAbierto());
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* update()
*/

public static boolean update(String sqlupdate ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update  sprint set " + sqlupdate +"";
      pupdate= con.prepareStatement(sql);
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* updatePrimaryKey()
*/

public static boolean updatePrimaryKey(Sprint sprint_old , Sprint sprint) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update sprint set  idsprint=?  where  idsprint ='"+sprint_old.getIdsprint()+"'  ";
      pupdate= con.prepareStatement(sql);
      pupdate.setInt(0,sprint.getIdsprint());
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* delete()
*/

public static boolean delete(Sprint sprint ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from sprint  where  idsprint = ?  ";
      pdelete= con.prepareStatement(sql);
      pdelete.setInt(1,sprint.getIdsprint());
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodelete"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* delete()
*/

public static boolean delete(String sqldelete ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from sprint where " + sqldelete +"";
      pdelete= con.prepareStatement(sql);
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodelete"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* deleteAll()
*/

public static boolean deleteAll() {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from sprint  ";
      pdelete= con.prepareStatement(sql);
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodeleteall"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* exists()
*/



public static boolean exists(Sprint sprint) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      String sql = "select * from sprint where idsprint='"+sprint.getIdsprint()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +" " + bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return false;
   }
    rs.close();
    psquery.close();
 return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* findByPrimaryKey()
*/



public static Sprint findByPrimaryKey(Sprint sprint) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
      String sql = "select * from sprint where idsprint='"+sprint.getIdsprint()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
   proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
   if (proyectos2== null) {
       //no existe registro con ese codigo 
   } else {
   proyectos= proyectos2;
   sprint.setProyectos(proyectos);
     }
            sprint.setIdsprint(rs.getInt("idsprint"));
sprint.setIdproyecto(rs.getInt("idproyecto"));
sprint.setNombre(rs.getString("nombre"));
sprint.setObjetivo(rs.getString("objetivo"));
sprint.setVelocidadestimada(rs.getInt("velocidadestimada"));
sprint.setFechainicio(rs.getDate("fechainicio"));
sprint.setFechaterminacion(rs.getDate("fechaterminacion"));
sprint.setFechademo(rs.getDate("fechademo"));
sprint.setHorademo(rs.getString("horademo"));
sprint.setFechameeting(rs.getDate("fechameeting"));
sprint.setComentariosmeeting(rs.getString("comentariosmeeting"));
sprint.setAsistentesmeeting(rs.getString("asistentesmeeting"));
sprint.setFecharetrospectiva(rs.getDate("fecharetrospectiva"));
sprint.setBuenoretrospectiva(rs.getString("buenoretrospectiva"));
sprint.setMaloretrospectiva(rs.getString("maloretrospectiva"));
sprint.setMejorarretrospectiva(rs.getString("mejorarretrospectiva"));
sprint.setPuntosasignados(rs.getInt("puntosasignados"));
sprint.setVelocidadreal(rs.getInt("velocidadreal"));
sprint.setAbierto(rs.getString("abierto"));
    }
    rs.close();
    psquery.close();
 return sprint;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByIdsprint()
*/

public static List<Sprint> findByIdsprint(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where idsprint='"+sprint.getIdsprint()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByIdproyecto()
*/

public static List<Sprint> findByIdproyecto(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where idproyecto='"+sprint.getIdproyecto()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByNombre()
*/

public static List<Sprint> findByNombre(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where nombre='"+sprint.getNombre()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByObjetivo()
*/

public static List<Sprint> findByObjetivo(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where objetivo='"+sprint.getObjetivo()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByVelocidadestimada()
*/

public static List<Sprint> findByVelocidadestimada(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where velocidadestimada='"+sprint.getVelocidadestimada()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByFechainicio()
*/

public static List<Sprint> findByFechainicio(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where fechainicio='"+sprint.getFechainicio()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByFechaterminacion()
*/

public static List<Sprint> findByFechaterminacion(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where fechaterminacion='"+sprint.getFechaterminacion()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByFechademo()
*/

public static List<Sprint> findByFechademo(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where fechademo='"+sprint.getFechademo()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByHorademo()
*/

public static List<Sprint> findByHorademo(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where horademo='"+sprint.getHorademo()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByFechameeting()
*/

public static List<Sprint> findByFechameeting(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where fechameeting='"+sprint.getFechameeting()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByComentariosmeeting()
*/

public static List<Sprint> findByComentariosmeeting(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where comentariosmeeting='"+sprint.getComentariosmeeting()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByAsistentesmeeting()
*/

public static List<Sprint> findByAsistentesmeeting(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where asistentesmeeting='"+sprint.getAsistentesmeeting()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByFecharetrospectiva()
*/

public static List<Sprint> findByFecharetrospectiva(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where fecharetrospectiva='"+sprint.getFecharetrospectiva()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByBuenoretrospectiva()
*/

public static List<Sprint> findByBuenoretrospectiva(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where buenoretrospectiva='"+sprint.getBuenoretrospectiva()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByMaloretrospectiva()
*/

public static List<Sprint> findByMaloretrospectiva(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where maloretrospectiva='"+sprint.getMaloretrospectiva()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByMejorarretrospectiva()
*/

public static List<Sprint> findByMejorarretrospectiva(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where mejorarretrospectiva='"+sprint.getMejorarretrospectiva()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByPuntosasignados()
*/

public static List<Sprint> findByPuntosasignados(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where puntosasignados='"+sprint.getPuntosasignados()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByVelocidadreal()
*/

public static List<Sprint> findByVelocidadreal(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where velocidadreal='"+sprint.getVelocidadreal()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByAbierto()
*/

public static List<Sprint> findByAbierto(Sprint sprint,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from sprint where abierto='"+sprint.getAbierto()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* locateByParameters()
*/

public static List<Sprint> locateByParameters(Map parametros,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<>();
  String sql = "select * from sprint";
  if (parametros != null) {
      Iterator it = parametros.entrySet().iterator();
      StringBuilder sb = new StringBuilder("");
      int i = 0;
      while (it.hasNext()) {
          if (i != 0){
            sb.append(" and ");
         }
         i++;
        Map.Entry e = (Map.Entry) it.next();
        sb.append(e.getKey() +"= '"+  e.getValue()+"'");
      }
      if (!sb.toString().equals("")){
         sql = sql + " where " + sb.toString();
      }
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* Double func(String funcion, String campo)
*/



public static Double func(String funcion, String campo) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0.0;
  }
      String sql = "select "+funcion+"("+campo+") as contador from sprint";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0.0;
   }
    Double tmp =0.0;
   rs.beforeFirst();
   while (rs.next()) {
    tmp =  rs.getDouble("contador");
    }
    rs.close();
    psquery.close();
 return tmp;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return 0.0;
}


/**
*
* Double func(String funcion, String campo,String where)
*/



public static Double func(String funcion, String campo, String where) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0.0;
  }
      String sql = "select "+funcion+"("+campo+") as contador from sprint where "+where +" ";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0.0;
   }
    Double tmp =0.0;
   rs.beforeFirst();
   while (rs.next()) {
    tmp =  rs.getDouble("contador");
    }
    rs.close();
    psquery.close();
 return tmp;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return 0.0;
}


/**
*
* count()
*/



public static Integer count() {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0;
  }
      String sql = "select count(*) as contador from sprint";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0;
   }
     rs.beforeFirst();
     while (rs.next()) {
      x =  rs.getInt("contador");
    }
    rs.close();
    psquery.close();
 return x;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return 0;
}


/**
*
* count(String sqlquery)
*/



public static Integer count(String sqlquery) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0;
  }
      String sql = "select count(*) as contador from sprint where  " + sqlquery +"";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0;
   }
   rs.beforeFirst();
   while (rs.next()) {
    x =  rs.getInt("contador");
    }
    rs.close();
    psquery.close();
 return x;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return 0;
}


/**
*
* query()
*/

public static List<Sprint> query(String query,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
  String sql = "select * from sprint where " + query +"";
  if (query == null || query.equals("")) {
  return null;
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* orderby()
*/

public static List<Sprint> orderby(String query,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
  String sql = "select * from sprint order by " + query +"";
  if (query == null || query.equals("")) {
  return null;
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* getListRecords()
*/

public static List<Sprint> getListRecords(Map parametros,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<>();
  String sql = "select * from sprint";
  if (parametros != null) {
      Iterator it = parametros.entrySet().iterator();
      StringBuilder sb = new StringBuilder("");
      while (it.hasNext()) {
        Map.Entry e = (Map.Entry) it.next();
        sb.append(e.getKey() +"="+  e.getValue());
      }
      if (!sb.toString().equals("")){
         sql = sql + " where " + sb.toString();
      }
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "sprint" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
       
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
        Sprint sprint2 = new Sprint(
         rs.getInt("idsprint"),rs.getInt("idproyecto"),rs.getString("nombre"),rs.getString("objetivo"),rs.getInt("velocidadestimada"),rs.getDate("fechainicio"),rs.getDate("fechaterminacion"),rs.getDate("fechademo"),rs.getString("horademo"),rs.getDate("fechameeting"),rs.getString("comentariosmeeting"),rs.getString("asistentesmeeting"),rs.getDate("fecharetrospectiva"),rs.getString("buenoretrospectiva"),rs.getString("maloretrospectiva"),rs.getString("mejorarretrospectiva"),rs.getInt("puntosasignados"),rs.getInt("velocidadreal"),rs.getString("abierto"));
            
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
            
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     sprint2.setProyectos(proyectos);
       }
   }
       list.add(sprint2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
 }


}
